<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 编译原理  操作系统 
        // 红诺伊曼原理
        // 文件->内存  调度者  浏览器 进程
        //简单数据类型内存
        let a=1;//文件->内存 &a
        let b=a;//
        b=3;
        console.log(b ,a);
        // 对象空间是独立的，o 拿到的是对象的引用
        var o={name:'钟萍'}
        var d=o;
        d.name='腾讯萍';
        console.log(d.name,o.name);

        // const r={ a:1,b:2};
        // var m={};
        // r=m;

        var obj={
            //function 空间分配呢？  更特殊
            // 函数 功能封装  
            // 内部还要再分配空间
            // 堆 
            foo:function(){
                //ths? 函数运行时决定
                // 函数的运行一定要有一个上下文环境
               console.log(this.bar);
            },
            bar:1
        }

        // 不同的运行方式 带来不同的结构
        var bar=2;
        var foo =obj.foo;//函数地址
        obj.foo();//运行环境：obj
        console.log(this);
        foo();//运行环境：全局
        console.log(this);


    </script>
</body>
</html>